package com.sduept.nwld.fault.handler;

import com.sduept.bigdata.fault.analysis.handler.impl.AbstractCommonHandler;
import com.sduept.bigdata.fault.common.FaultHandlerContext;
import com.sduept.bigdata.fault.common.HandlerContext;
import com.sduept.bigdata.fault.entity.FaultRecord;
import com.sduept.bigdata.fault.special.maintenance.manager.MaintenancePersistManager;
import com.sduept.utils.SpringContext;
import org.apache.commons.lang3.StringUtils;

/**
 * 特维厂站数据更新，根据故障设置本次故障相关的断路器动作信息
 * @author wk
 *
 */
public class MaintenanceStationUpdateHandler extends AbstractCommonHandler {
	private MaintenancePersistManager mpm = SpringContext.getBean(MaintenancePersistManager.class);
	@Override
	public void logic(HandlerContext context) {
		FaultHandlerContext faultContext = (FaultHandlerContext)context;
		FaultRecord fr = faultContext.getCurrentFaultRecord();
		if(StringUtils.isEmpty(fr.getFaultPhase())){
			return;
		}
		if(StringUtils.isEmpty(fr.getFaultType()) || !"单瞬".equals(fr.getFaultType())
					&&!"单永".equals(fr.getFaultType())){
			return;
		}
		try{
			mpm.updateMaintenance(fr);
		}catch(Exception e){e.printStackTrace();}
	}
	
	@Override
	public boolean asynExecute() {
		return true;
	}
}
